package sort;

import util.ArrayUtil;

import java.lang.reflect.Method;

/**
 * @author yuisama
 * @version 1.0.0
 * @Description TODO
 * @createTime 2023年04月11日 21:19:00
 */
public class SortHelper {
    // 根据传进来的排序方法名称，在arr数组上使用该方法进行排序操作
    public static void testSortMethod(String methodName,int[] arr) throws Exception{
        // 1.先获取Class对象
        Class<SevenSort> cls = SevenSort.class;
        // 2.获取相应的方法
        Method method = cls.getDeclaredMethod(methodName,int[].class);
        long start = System.nanoTime();
        // 3.调用该方法
        method.invoke(null,arr);
        long end = System.nanoTime();
        if (isSorted(arr)) {
            System.out.println(methodName + "排序完成，共耗时 : " + (end - start) / 100_0000.0 + "ms");
        }
    }

    public static boolean isSorted(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            if (arr[i] > arr[i + 1]) {
                return false;
            }
        }
        return true;
    }

}
